EN FR
EN FR


Section: Software

PREMIA

Participants : Antonino Zanette, Mathfi Research team, Agnès Sulem [correspondant] .

Premia is a software designed for option pricing, hedging and financial model calibration. It is provided with it's C/C++ source code and an extensive scientific documentation. https://www-rocq.inria.fr/mathfi/Premia

Thie Premia project keeps track of the most recent advances in the field of computational finance in a well-documented way. It focuses on the implementation of numerical analysis techniques for both probabilistic and deterministic numerical methods. An important feature of the platform Premia is the detailed documentation which provides extended references in option pricing.

Premia is thus a powerful tool to assist Research & Development professional teams in their day-to-day duty. It is also a useful support for academics who wish to perform tests on new algorithms or pricing methods without starting from scratch.

Besides being a single entry point for accessible overviews and basic implementations of various numerical methods, the aim of the Premia project is:

  1. to be a powerful testing platform for comparing different numerical methods between each other;

  2. to build a link between professional financial teams and academic researchers;

  3. to provide a useful teaching support for Master and PhD students in mathematical finance.

  • AMS: 91B28;65Cxx;65Fxx;65Lxx;65Pxx

  • License: Licence Propriétaire (genuin license for the Consortium Premia)

  • Type of human computer interaction: Console, interface in Nsp

  • OS/Middelware: Linux, Mac OS X, Windows

  • APP: The development of Premia started in 1999 and 13 are released up to now and registered at the APP agency.

  • Programming language: C/C++ librairie Gtk

  • Documentation: the PNL library is interfaced via doxygen

  • Size of the software: 250 Mbyte, 40 Mbyte of C/C++ routines; Number of lines of code: 972000 (for the source part only)

  • Publications: [1] [71] [78] [86] [88] , [62]

Content of Premia

Premia contains various numerical algorithms (Finite-differences, trees and Monte-Carlo) for pricing vanilla and exotic options on equities, interest rate, credit and energy derivatives.

  1. Equity derivatives:

    The following models are considered:

    Black-Scholes model (up to dimension 10), stochastic volatility models (Hull-White, Heston, Fouque-Papanicolaou-Sircar), models with jumps (Merton, Kou, Tempered stable processes, Variance gamma, Normal inverse Gaussian), Bates model.

    For high dimensional American options, Premia provides the most recent Monte-Carlo algorithms: Longstaff-Schwartz, Barraquand-Martineau, Tsitsklis-Van Roy, Broadie-Glassermann, quantization methods and Malliavin calculus based methods.

    Dynamic Hedging for Black-Scholes and jump models is available.

    Calibration algorithms for some models with jumps, local volatility and stochastic volatility are implemented.

  2. Interest rate derivatives

    The following models are considered:

    HJM and Libor Market Models (LMM): affine models, Hull-White, CIR++, Black-Karasinsky, Squared-Gaussian, Li-Ritchken-Sankarasubramanian, Bhar-Chiarella, Jump diffusion LMM, Markov functional LMM, LMM with stochastic volatility.

    Premia provides a calibration toolbox for Libor Market model using a database of swaptions and caps implied volatilities.

  3. Credit derivatives: CDS, CDO

    Reduced form models and copula models are considered.

    Premia provides a toolbox for pricing CDOs using the most recent algorithms (Hull-White, Laurent-Gregory, El Karoui-Jiao, Yang-Zhang, Schönbucher)

  4. Hybrid products

    PDE solver for pricing derivatives on hybrid products like options on inflation and interest or change rates is implemented.

  5. Energy derivatives: swing options

    Mean reverting and jump models are considered.

    Premia provides a toolbox for pricing swing options using finite differences, Monte-Carlo Malliavin-based approach and quantization algorithms.

Development of the PNL Library

    Here are the major contribution of J. Lelong:

  1. Development of the PNL.

    - A PnlArray object has been added to create arrays of PnlObjects.

    - The implementation of the PnlList type has been changed to improve linear iteration on a list.

    - Design of a new unit test framework and backport of all the previous tests.

    - Integration of the Runge Kutta Fehler 45 method for solving n dimensional ODEs.

    - New organisation of the manual.

    - Random number generators: new Sobol generators (32 and 64 bits), dynamic Mersenne Twister updated to version 0.6.1. All random number generators are now thread-safe.

    - Update of internal Lapack (and the corresponding shipped version of Blas) to version 3.2.1

    - Update of F2C.

    - LU factorization for tridiagonal matrices.

    - Cholesky block factorization for positive semi-definite matrices.

Premia design

Anton Kolotaev (ADT engineer), supervised by J. Lelong, has realized the Bindings for Premia with Python and F#; a library allowing the development of bindings to other languages; a Web interface Web for Premia. Moreover he has improved the documentation facility system of Premia adn has updated the Excel interface Excel for the new versions MS Excel and MS Windows.

Tasks achieved by J. Lelong:

  1. New design of the enumeration type to allow the number of parameters of Premia objects to depend on the selected value within the enumeration. This change had a strong impact on the VAR system and many core functions had to be rewritten. This modification was definitely essential to improve the Nsp interface, which was broken for long as far as credit derivatives are concerned and is now working properly again.

  2. Creation of the first Premia bundle for Mac OS X and automation of the building process.

  3. Generic “Get”, “FGet” and “Print” functions had been introduced to simplify object creation but there were still many exceptions which were not using these generic functions. All these exceptions have been handled and now rely on the generic functions.

  4. Improvement of the scripts to build the free version of Premia.

  5. Integration of Cosine methods implemented by Bowen Zhang.

Tasks achieved by C. Labart:

  • Improvement of the credit part of Premia : correction of memory leaks, modification of old codes to use the new copula structure. This enables to remove a large part of the code which has become hard to maintain.

  • Complete rewriting of the BSDE algorithm for pricing basket options in high dimension to use a more efficient approximation technique. This has been possible thanks to the polynomial approximation tool provided by the PNL.

Algorithms implemented in Premia in 2011

Premia 13 was delivered to the consortium members in March 2011. It contains the following new algorithms:

Interest rate derivatives
  • Pricing and hedging callable Libor exotics in forward Libor models. V. Piterbarg, The Journal of Computational Finance Volume 8 Number 2, Winter 2004/05

  • A stochastic volatility forward Libor model with a term structure of volatility smiles. A. Piterbarg, V. (2004), SSRN Working Paper.

  • Iterating cancelable snowballs and related exotics in a many-factor Libor model, J. Schoenmakers RISK, Sept. 2006, Asia RISK Oct. 2006

  • A new approach to Libor modeling. M. Keller-Ressel, A. Papapantaleon and J. Teichmann. Preprint 2009

  • Jump-adapted discretization schemes for Levy-driven SDEs A. Kohatsu Higa P. Tankov, Stochastic Processes and their Applications, to appear.

Credit risk derivatives
  • R. Cont and A. Minca Recovering Portfolio Default Intensities Implied by CDO Quotes. Mathematical Finance, to appear

  • Interacting particle systems for the computation of rare credit portfolio losses, R.Carmona, J.P. Fouque and D. Vestal, Finance & Stochastics Volume 13, Number 4, September, 2009.

Electricity derivatives
  • Variance optimal hedging for processes with independent increments and applications. Applications to electricity market. F.Russo, S. Goutte and N. Oudjane. Preprint 2010

Equity derivatives
  • A Novel Option Pricing Method based on Fourier-Cosine Series Expansions. F. Fang and C.W. Oosterlee. SIAM J. Sci. Comput. 31: 826-848 (2008)

  • Pricing early-exercise and discrete barrier options by Fourier-cosine series expansions. C.W. Oosterlee and F. Fang Numerische Mathematik 114: 27-62 (2009)

  • On The Heston Model with Stochastic Interest Rates. L.A. Grzelak and C.W. Oosterlee. Preprint 2010

  • Pricing options under stochastic volatility: a power series approach. F.Antonelli and S.Scarlatti Finance & Stochastics, Volume XIII (2009), issue 1

  • Gamma Expansion of the Heston Stochastic Volatility Model. P. Glasserman and K. Kim, Finance & Stochastics,to appear.

  • Kudryavtsev O.: Wiener-Hopf techniques for Heston model.

  • Multi-level Monte Carlo path simulation. M.B. Giles Operations Research, 56(3):607-617, 2008.

  • Fourier space time-stepping for option pricing with Levy models. R. Jackson, S. Jaimungal and V. Surkov The Journal of Computational Finance, Volume 12 / Number 2, Winter 2008.

  • Saddlepoint methods for option pricing Peter Carr and Dilip Madan The Journal of Computational Finance, to appear

  • Saddlepoint Approximations for Affine Jump-Diffusion Models P. Glasserman and K. Kim,Journal of Economic Dynamics and Control, vol 33, 37-52, 2009.

  • Monte Carlo for pricing Asian options in jump models.

    E. Dia and D. Lamberton, Preprint

  • An Improved Convolution Algorithm for Discretely Sampled Asian Options. Cerny, A. and I. Kyriakou, Quantitative Finance, to appear

  • Estimating Greeks in Simulating Levy-Driven Models. Paul Glasserman and Zongjian Liu. The Journal of Computational Finance, Volume 14/Number 2, Winter 2010.

  • Computing exponential moments of the discrete maximum of a Levy process and lookback options. L. Feng and V. Linetsky. The Journal of Computational Finance, Volume 13, Number 4 / September, 2009

  • Doubly Reflected BSDEs with Call Protection and their Approximation. J.F. Chassagneux S.Crepey. Preprint 2010

  • Pricing Convertible Bonds with Call Protection S.Crepey A.Rahal. The Journal of Computational Finance, to appear.

  • Empirical martingale simulation of asset prices. J.-C. Duan, and J.-G Simonato. Management Science(1998) 44-9, 1218-1233

  • Pricing and hedging American-style options: a simple simulation-based approach. Y. Wang and R.Caflisch. The Journal of Computational Finance, 13-4, 2010.

New algorithms for the release 14 of Premia to be delivered in March 2012 to the Consortium:

Interest rate derivatives
  • An n-Dimensional Markov-functional Interest Rate Model.

    Linus Kaisajuntti and Joanne Kennedy. Preprint 2008

  • Picard approximation of SDEs and application to LIBOR models. A. Papapantoleon, D. Skovmand (2010). Preprint, TU Berlin.

Credit risk derivatives
  • A multilevel approach to control variates by Adam Speight, The Journal of Computational Finance, Volume 12 / Number 4, Summer 2009.

  • Calibration in a local and stochastic intensity model. A. Alfonsi, C. Labart and J. Lelong, Preprint.

Energy and commodities
  • Markov Models for Commodity Futures: Theory and Practice. L. Andersen. Preprint

Equity derivatives
  • S.Ould-Aly Revised Bergomi model. Preprint

  • Robust Approximations for Pricing Asian Options and Volatility Swaps Under Stochastic Volatility. M.A. Jacquier. Applied Mathematical Finance, Volume 17 Issue 3 2010

  • Asymptotic formulae for implied volatility in the Heston model. M. Forde A.Jaquier A. Mijatovic, Preprint.

  • Volatility derivatives in market models with jumps. H. Lo A. Mijatovic, Preprint.

  • Pricing of Timer Options. C. Bernard Z. Cui. Journal of Computational Finance, to appear.

  • High-order discretization for stochastic correlation models. A. Alfonsi and A. Ahdida Preprint

  • Fast and Accurate Long Stepping Simulation of the Heston Stochastic Volatility Model J.H. Chan, M S. Joshi, Preprint

  • Ninomiya-Victoir scheme for variance swaps model.

  • Multilevel adaptive Monte Carlo. A. Kebaier, K. Hajji

  • Stochastic volatility: option pricing using a multinomial recombining tree. Florescu, I. and Viens F. App. Math. Finance 15 (2008), no. 1-2, 151–181

  • A Fourier-based Valuation Method for Bermudan and Barrier Options under Heston Model. F.Fang, C. W. Oosterlee. Preprint 2010.

  • Wiener-Hopf techniques for Path-dependent options in Bates and Heston model. Kudryavtsev O.

  • Componentwise splitting methods for pricing American options under stochastic volatility. Ikonen, S. and Toivanen, J. Int. J. Theor. Appl. Finance 10 (2007), no. 2, 331–361.

  • Operator splitting methods for pricing American options under stochastic volatility. Ikonen, S. and Toivanen, J. Numer. Math. 113 (2009), no. 2, 299–324

  • Numerical methods and volatility models for valuing cliquet options.

    H. Windcliff, P.A. Forsyth, K.R. Vetzal, Applied Mathematical Finance 13 (2006) 353-386.

  • Continuously monitored barrier options under Markov processes.

    A. Mijatovic, M.Pistorius, preprint.

  • Exotic derivatives in a dense class of stochastic volatility models with jumps. A. Mijatovic and M. Pistorius, Preprint.

  • Pricing Discretely Monitored Asian Options by Maturity Randomization. G.Fusai, D. Marazzina and M. Marena. Preprint

  • B. Lapeyre and A. Abbas-Turki American Options Based on Malliavin Calculus and nonparametric Variance Reduction Methods on Malliavin Calculus. Preprint.

  • Stochastic expansion for the pricing of call options with discrete dividends. P. Etore and E.Gobet. Preprint.

  • Backward Stochastic Differential Equations (BSDE).

  • American options in high dimension solving BSDE with penalization.